#ifndef _HALINTRPT_H_
#define _HALINTRPT_H_

#include <hyper_t.h>
#include <halmach_t.h>
#include <krlintrpt.h>


void hal_intrpt_init (void);
void intsrcdsc_init (mach_t * mach);
void intsrcdsc_t_init (intsrcdsc_t * intsrcdsc, u32_t flag, u32_t status, u32_t pndbitidx, uint_t irqnbr);
void intisrdsc_t_init (intisrdsc_t * intisrdsc, u32_t flag, intsrcdsc_t * intsrcdsc, void * device, inthandle_t handle);

intsrcdsc_t * intrpt_return_intsrcdsc (uint_t ifdidx);
bool_t intrpt_add_intisr_to_intsrcdsc (intsrcdsc_t * intsrcdsc, intisrdsc_t * intisrdsc);
uint_t intrpt_return_irqnbr (void);
uint_t intrpt_clear_irqsrcpnd (uint_t ifdidx);
uint_t intrpt_enable_irq (uint_t ifdidx);
uint_t intrpt_disable_irq (uint_t ifdidx);

#endif
